package controllers.offre;

import java.util.Date;
import java.util.List;

import play.data.validation.Required;

import controllers.Application;
import models.*;

public class Offres extends Application{	
	
	private EtatOffre etat;

	public EtatOffre getEtat() {
		return this.etat;
		
	}

	public void setEtat(EtatOffre _etat) {
		this.etat = _etat;
	}
	
	
	public Offres(){
		Offre offre = new Offre(null, null, null, 0, null, null);
		this.setEtat(new NonOuverte());
		/*if (offre.etat.toLowerCase() == "nonouverte")
			;
		else if (this.etat.toLowerCase() == "negociation")
			;
		else if (this.etat.toLowerCase() == "terminee")
			;
		else if (this.etat.toLowerCase() == "annulee")
			;
		*/
        offre.save();
        index();
	}
	
	public static void index() {
        List offres = models.Offre.findAll();
    	render(offres);
    }
    
    public static void show(Long offreId) {
        Offre offre = Offre.findById(offreId);
        notFoundIfNull(offre);
        render(offre);
    }
    
    public static void create(@Required int _stock, String _nom, double _prix_base, Date _date_debut,Date _date_fin, int _prix, long id ) {
        if (validation.hasErrors()) {
            flash.error("Svp entrez les paramètres demandé!");
            index();
        }
        Utilisateur fournisseur = Utilisateur.findById(id);
        Produit produit = new Produit(_stock,_nom,_prix_base);
        Offre offre = new Offre( produit, _date_debut, _date_fin, _prix,fournisseur, "nonouverte");
        produit.save();
        offre.save();
        index();
    }
    
    public static void delete(Long offreId) {
    	Offre offre = Offre.findById(offreId);
        notFoundIfNull(offre);
        offre.delete();
        flash.success("L'offre a été supprimée");
        index();
    }
	
	
}
